perm filename NSEG[4,KMC] blob sn#059156 filedate 1973-08-17 generic text, type T, neo UTF8
00100	COMMENT ⊗   VALID 00002 PAGES
00200	C REC  PAGE   DESCRIPTION
00300	C00001 00001
00400	C00002 00002	EXPR SEGMENT(L)
00500	C00004 ENDMK
00600	C⊗;
     

00100	EXPR SEGMENT(L);
00200		SEGMENT1(NIL,L);
00300	
00400	EXPR SEGMENT1(S,R:X);
00500		IF ¬R THEN <S>
00600		ELSE IF NUMBERP(R[1]) |( ¬R[1].STOPPER & ¬R[1].LONG) THEN SEGMENT1(S @<R[1]>, CDR R)
00700		ELSE IF R[1].LONG & (X←PREFIX(R[1].LONG, R[1].LONG, R)) 
00800			THEN IF S THEN S CONS SEGMENT1(<X[1]>, X[2])
00900			ELSE SEGMENT1(<X[1]>, X[2])
01000		ELSE IF S THEN S CONS SEGMENT(R)
01100		ELSE SEGMENT1(<R[1]>,CDR R);
01200	
01300	EXPR PREFIX(P,L,I);
01400		IF ¬L THEN <P,I>
01500		ELSE IF ¬I THEN NIL
01600		ELSE IF L[1] NEQ I[1] THEN NIL
01700		ELSE PREFIX(P, CDR L, CDR I);
01800	
01900	EXPR INIT();
02000		BEGIN
02100		NEW INPT;
02200		FOR NEW I IN '(
02300		ABOVE (ACCORDING TO) AFTER AGAINST (ALMOST AS) 
02400		ALONG ALTHOUGH AMID AMIDST AND AROUND AS (AS FAR AS) AT AWAY
02500		BECAUSE BEFORE BEHIND BELOW BESIDE BESIDES BETWEEN BUT BY 
02600		DOWN DURING EITHER EXCEPT EXCEPTING FIRST FOR  FROM FURTHERMORE	
02700		HOWEVER IF IN INDEED (IN ORDER TO) (INSTEAD OF) INTO
02800		LATER NEITHER NOR OFF ON (ON TOP OF) OR OUT (OUT OF) OUTSIDE
02900	  	PAST SINCE (SO THAT) THAT THEREFORE THROUGH TO
03000		UNDER UNDERNEATH UNLESS UP 
03100		WHAT WHATEVER WHEN WHENEVER WHERE WHETHER WHICH WHO WHOM WHY WITH WITHIN WITHOUT
03200		YET
03300		) DO IF ATOM I THEN I.STOPPER{0}←T
03400		ELSE I[1].LONG{0} ← I;
03500	
03600		WHILE INPT←READ() DO TERPRI PRINT SEGMENT(INPT);
03700		END;
03800	
03900	_EOF_